package xxl.signals.api 
{
	
	/**
	 * 说明：通过add等方法注册的默认事件，每次dispatch都会执行。通过addToMap,addOnceToMap注册的方法，在dispatch时根据第一个参数归档执行
	 * @author XXL
	 */
	public interface IMapSignal extends ISignal
	{
		function addToMap(key:Object, listener:Function):ISlot;
		function addOnceToMap(key:Object, listener:Function):ISlot;
		function getNumListenersByKey(key:Object):int;
		function removeFromMap(key:Object, listener:Function):ISlot;
		function removeAllByKey(key:Object):void;
		function getSignalByKey(key:Object):ISignal;
	}
	
}